<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 一个新入职，月工资为2000元的员工，每年涨当年工资5%，到退休20年时的月工资是多少？
        // 打印1000–2000之间所有能被3或者7整除的数，每8个换行
        // 计算10的阶乘   (1*2*3*4*5*6*7*8*9*10   n的阶乘1*2……*n)
        // 计算1+3+5+...+99的和
        // 99乘法表
        // 求出1-1/2+1/3-1/4…..1/100的和 
        // 生成5位数的随机数字验证码
        // 随机生成两个100以内的数，求他们的最大公约数
        // 输出所有的水仙花数 
        // 百鸡百钱
        // 判断一个数是不是质数。(除了1和它本身以外不再有其他的除数整除。)



        // 循环的案例
        //    奇数偶数   条件输出

        // 输出所有的奇数  
        //   找到1-100之间所有的数
        for(var i = 1 ; i <= 100 ; i++) {
            // console.log(i);   // 不是输出所有的数
            // 条件满足才输出  -- 奇数  
            if(i % 2) {
                console.log(i);
            }
        }


        // 100以内能同时被3 7 整除
        //  1 找到1-100所有的数
        //  2 判断每一个数，如果能被3 7整除就输出
        for(var i = 1 ; i <= 100 ; i++) {
            // 满足条件就输出  同时3 7
            if(i % 3 === 0 && i % 7 === 0) {
                console.log(i) ;
            }
        }



        // 偶数，10个换行
        //  输出偶数
        //  换行怎么实现？  计数     
        //      输出一个偶数，就统计一下，统计之后看一下是不是10的倍数，是10的倍数就br

        // 声明一个变量  用于计数
        var j = 0;   // 计数器的初始值是0
        for(var i = 1 ; i <= 100 ; i++) {
            if(i % 2 === 0) {
                document.write(i + ' ') ;   // 输出偶数
                // 输出一个偶数就统计一下
                j++ ;
                if(j % 10 === 0) {
                    document.write('<br>') ;
                }
            }

           
        }

        // i = 20  j = 10   br
        // i = 21  j = 10   br





        // 打印1000–2000之间所有能被3或者7整除的数，每8个换行
        //   1 找到1000-2000之间所有的数
        //   2 找到条件
        //   3 换行  计数
        var j = 0 ;
        for(var i = 1000 ; i <= 2000 ; i++) {
            // 判断能不能被3 7 整除
            if(i % 3 === 0 || i % 7 === 0) {
                document.write(i + ' ') ;
                // 输出一个就统计一个
                j++ ;
                // 统计一下就判断是不是8的倍数
                // if(j % 8 === 0) {
                //     document.write('<br>') ;
                // }
                if(j === 8) {
                    document.write('<br>') ;
                    // 计数重置
                    j = 0 ;
                }
            }
        }







        // 乘法的问题
        // 10!   1*2*3*4..*10
        // 1*2=2
        // 2*3=6
        // ...
        //  思路：每次只乘一个，保留结果，在此基础上乘以下一个
        var jc = 1 ;
        for(var i = 1 ; i <= 10 ; i++) {
            // 每次都拿结果乘以下一个数
            jc = jc * i ;
        }
        document.write(jc) ;



        // 工资
        //  初始2000   每年涨5%   20年后的工资
        // 2000 
        // 2000 * 1.05
        // 2000 * 1.05 * 1.05
        // ...
        // 20次

        var salary = 2000 ;
        for(var i = 2 ; i <= 20 ; i++) {
            salary *= 1.05 ;
        }

        // 保留小数点后两位数 
        salary = salary.toFixed(2) ;
        document.write('<br>' + salary) ;
        



        // 计数求和
        var sum = 0 ;
        for(var i = 0 ; i <= 100 ; i++) {
            // 如果是奇数，就求和
            if(i % 2) {
                sum += i ;
            }
        }
        document.write('<br>奇数求和是：' + sum) ;


        // 求出1-1/2+1/3-1/4…..1/100的和 
        //   奇数就是+    偶数就是－

        var result = 0 ;
        for(var i = 1 ; i <= 100 ; i++) {
            // 判断奇数
            // if(i % 2) {
            //     result += 1/i ;
            // }
            // else {
            //     result -= 1/i ;
            // }

            // i % 2 ? result += 1/i : result -= 1/i ;

            // result += i % 2 ? 1 / i : -1 / i ;

            var b = i % 2 ? 1 : -1 ;
            result += b / i ;
            
        }
        document.write('<br>求和是：' + result) ;




    </script>
    
</body>
</html>